package com.qulai.amazon_us.domain.amazon_us;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.qulai.common.annotation.Excel;
import com.qulai.common.core.domain.BaseEntity;

/**
 * 亚马逊us-库存价格映射对象 basic_product_map
 * 
 * @author hunan
 * @date 2025-06-10
 */
public class BasicProductMap extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    @Excel(name = "ID")
    private Long basicId;

    /** 价格 */
    @Excel(name = "价格")
    private Double basicPrice;

    /** 数量 */
    @Excel(name = "数量")
    private Long basicQuantity;

    /** 亚马逊销售价格 */
    @Excel(name = "亚马逊销售价格")
    private Double amazonPrice;

    /** 亚马逊销售库存 */
    @Excel(name = "亚马逊销售库存")
    private Double amazonQuantity;

    /** 首次推0时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "首次推0时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date firstZeroTime;

    /** 价格&gt;15%首次对比时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "价格&gt;15%首次对比时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date firstCompareTime;

    /** 价格更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "价格更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date priceUpdateTime;

    /** 库存更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "库存更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date quantityUpdateTime;


    /** 货源sku */
    @Excel(name = "货源sku")
    private String basicSku;

    public void setBasicId(Long basicId) 
    {
        this.basicId = basicId;
    }

    public Long getBasicId() 
    {
        return basicId;
    }
    public void setBasicPrice(Double basicPrice) 
    {
        this.basicPrice = basicPrice;
    }

    public Double getBasicPrice() 
    {
        return basicPrice;
    }
    public void setBasicQuantity(Long basicQuantity) 
    {
        this.basicQuantity = basicQuantity;
    }

    public Long getBasicQuantity() 
    {
        return basicQuantity;
    }
    public void setAmazonPrice(Double amazonPrice) 
    {
        this.amazonPrice = amazonPrice;
    }

    public Double getAmazonPrice() 
    {
        return amazonPrice;
    }
    public void setAmazonQuantity(Double amazonQuantity) 
    {
        this.amazonQuantity = amazonQuantity;
    }

    public Double getAmazonQuantity() 
    {
        return amazonQuantity;
    }
    public void setFirstZeroTime(Date firstZeroTime) 
    {
        this.firstZeroTime = firstZeroTime;
    }

    public Date getFirstZeroTime() 
    {
        return firstZeroTime;
    }
    public void setFirstCompareTime(Date firstCompareTime) 
    {
        this.firstCompareTime = firstCompareTime;
    }

    public Date getFirstCompareTime() 
    {
        return firstCompareTime;
    }

    public Date getPriceUpdateTime()
    {
        return priceUpdateTime;
    }

    public Date getQuantityUpdateTime()
    {
        return quantityUpdateTime;
    }

    public void setBasicSku(String basicSku) 
    {
        this.basicSku = basicSku;
    }

    public String getBasicSku() 
    {
        return basicSku;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("basicId", getBasicId())
            .append("basicPrice", getBasicPrice())
            .append("basicQuantity", getBasicQuantity())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .append("amazonPrice", getAmazonPrice())
            .append("amazonQuantity", getAmazonQuantity())
            .append("firstZeroTime", getFirstZeroTime())
            .append("firstCompareTime", getFirstCompareTime())
            .append("basicSku", getBasicSku())
            .append("priceUpdateTime", getPriceUpdateTime())
            .append("quantityUpdateTime", getQuantityUpdateTime())
            .toString();
    }
}
